package com.alcj.service;

import com.alcj.model.CarData;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * Created by wdl on 2017/10/19.
 */
public interface CarDataService {
    /**
     * 获取单条数据
     * @param id
     * @return
     */
    public CarData get(String id);

    /**
     * 获取单条数据
     * @param entity
     * @return
     */
    public CarData get(CarData entity);

    /**
     * 查询数据列表，如果需要分页，请设置分页对象，如：entity.setPage(new Page<CarData>());
     * @param entity
     * @return
     */
    public List<CarData> findList(CarData entity);

    /**
     * 查询所有数据列表
     * @param entity
     * @return
     */
    public List<CarData> findAllList(CarData entity);

    /**
     * 管理车主关系查询
     * @param entity
     * @return
     */
    public List<CarData> findListById(CarData entity);

    /**
     * 查询所有数据列表
     * @see public List<CarData> findAllList(CarData entity)
     * @return
     */
    public List<CarData> findAllList();

    /**
     * 插入数据
     * @param entity
     * @return
     */
    public int insert(CarData entity);

    /**
     * 更新数据
     * @param entity
     * @return
     */
    public int update(CarData entity);

    /**
     * 删除数据（一般为逻辑删除，更新del_flag字段为1）
     * @param id
     * @see public int delete(CarData entity)
     * @return
     */
    public int delete(String id);

    /**
     * 删除数据（一般为逻辑删除，更新del_flag字段为1）
     * @param entity
     * @return
     */
    public int deleteCarUser(CarData entity);

    /**
     *插入车辆 和 人关系
     * @param  (#{userId},#{carId})
     * @return
     */
    public void insertCarUser(Map map);

    /**
     *验证车辆代码的唯一性
     * @param  (carData)
     * @return
     */

   public CarData validatingCode(CarData carData);
}
